package nl.hu.verbrandendephoenix.shared;

import java.util.Date;

import com.google.gwt.user.client.rpc.IsSerializable;

public class User implements IsSerializable {
	private int databaseindex;
	private String UserName;
	private String FirstName;
	private String prefix;
	private String LastName;
	private int Gender;
	private Date DateOfBirth;
	private String ZIPCode;
	private String Street;
	private String StreetNumber;
	private String StreetNumberAddition;
	private String City;
	private String PhoneNumberHome;
	private String PhoneNumberWork;
	private String email;
	
	public User() { }
	
	public User(String unm, String eml){
		this.UserName = unm;
		this.setEmail(eml);
	}
	
	public User(int i) {
		databaseindex = i;
	}
	
	public User(String user, String fname, String prefix, String lname, int gen, Date dob, String zip, String str, String strnr, String strnradd, String ci, String phoneh, String phonew) {
		setUserName(user);
		setFirstName(fname);
		setPrefix(prefix);
		setLastName(lname);
		setGender(gen);
		setDateOfBirth(dob);
		setZIPCode(zip);
		setStreet(str);
		setStreetNumber(strnr);
		setStreetNumberAddition(strnradd);
		setCity(ci);
		setPhoneNumberHome(phoneh);
		setPhoneNumberWork(phonew);
		setEmail(email);
	}

	public User(int i, String user, String fname, String prefix, String lname, int gen, Date dob, String zip, String str, String strnr, String strnradd, String ci, String phoneh, String phonew) {
		setDatabaseIndex(i);
		setUserName(user);
		setFirstName(fname);
		setPrefix(prefix);
		setLastName(lname);
		setGender(gen);
		setDateOfBirth(dob);
		setZIPCode(zip);
		setStreet(str);
		setStreetNumber(strnr);
		setStreetNumberAddition(strnradd);
		setCity(ci);
		setPhoneNumberHome(phoneh);
		setPhoneNumberWork(phonew);
		setEmail(email);
	}

	
	public User(int i, String user, String fname, String prefix, String lname, int gen, String ci, String phoneh, String em) {
		setDatabaseIndex(i);
		setUserName(user);
		setFirstName(fname);
		setPrefix(prefix);
		setLastName(lname);
		setGender(gen);
		setCity(ci);
		setPhoneNumberHome(phoneh);
		setEmail(email);
	}

	
	public String getUserName() {
		return UserName;
	}

	public void setUserName(String userName) {
		this.UserName = userName;
	}

	public int getGender() {
		return Gender;
	}

	public void setGender(int gen) {
		Gender = gen;
	}

	public Date getDateOfBirth() {
		return DateOfBirth;
	}

	public void setDateOfBirth(Date dateOfBirth) {
		DateOfBirth = dateOfBirth;
	}

	public String getZIPCode() {
		return ZIPCode;
	}

	public void setZIPCode(String zIPCode) {
		ZIPCode = zIPCode;
	}

	public String getStreet() {
		return Street;
	}

	public void setStreet(String street) {
		Street = street;
	}

	public String getStreetNumber() {
		return StreetNumber;
	}

	public void setStreetNumber(String streetNumber) {
		StreetNumber = streetNumber;
	}

	public String getStreetNumberAddition() {
		return StreetNumberAddition;
	}

	public void setStreetNumberAddition(String streetNumberAddition) {
		StreetNumberAddition = streetNumberAddition;
	}

	public String getCity() {
		return City;
	}

	public void setCity(String city) {
		City = city;
	}

	public String getPhoneNumberHome() {
		return PhoneNumberHome;
	}

	public void setPhoneNumberHome(String phoneNumberHome) {
		PhoneNumberHome = phoneNumberHome;
	}

	public String getPhoneNumberWork() {
		return PhoneNumberWork;
	}

	public void setPhoneNumberWork(String phoneNumberWork) {
		PhoneNumberWork = phoneNumberWork;
	}

	public String getFirstName() {
		return FirstName;
	}

	public void setFirstName(String firstName) {
		FirstName = firstName;
	}
	
	public String getNamePrefix() {
		return prefix;
	}

	public void setNamePrefix(String pref) {
		prefix = pref;
	}
	
	public String getLastName() {
		return LastName;
	}

	public void setLastName(String lastName) {
		LastName = lastName;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPrefix() {
		return prefix;
	}

	public void setPrefix(String prefix) {
		this.prefix = prefix;
	}
	
	public void setDatabaseIndex(int i) {
		databaseindex = i;
	}
	
	public int getDatabaseIndex() {
		return databaseindex;
	}
	
	public String toString() {
		String s = "Name: " + getUserName() + " ID: " + getDatabaseIndex();
		return s;
	}
}